Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
@types/istanbul-reports
Advanced tools
TypeScript definitions for istanbul-reports
The @types/istanbul-reports package provides TypeScript type definitions for the istanbul-reports package, which is used for generating code coverage reports in various formats as part of the Istanbul code coverage tooling. These type definitions enable TypeScript developers to work with istanbul-reports in a type-safe manner, ensuring that they use the API correctly according to the expected types.
Type definitions for creating coverage reports
This code demonstrates how to use the istanbul-api package along with type definitions from @types/istanbul-reports to create a reporter and generate coverage reports in JSON, LCOV, and text formats. The CoverageMap type is used to ensure the coverage data passed to the reporter.write method is correctly typed.
import { createReporter } from 'istanbul-api';
import { FileCoverage, CoverageMap } from 'istanbul-lib-coverage';
const reporter = createReporter();
reporter.addAll(['json', 'lcov', 'text']);
reporter.write(coverageMap);
nyc is a command-line-interface tool that provides a higher-level wrapper around the Istanbul code coverage tool. It simplifies the process of instrumenting code with Istanbul and generating reports. Unlike @types/istanbul-reports, which provides TypeScript types for istanbul-reports, nyc directly integrates with Istanbul and handles instrumentation, running tests, and reporting in one package.
Coveralls is a web service that helps you track your code coverage over time, and ensure that all your new code is fully covered. It integrates with your CI environment to provide detailed reports on how your code coverage changes with each commit. While @types/istanbul-reports provides TypeScript definitions for generating reports with Istanbul, Coveralls focuses on the continuous monitoring and visibility of your coverage metrics across your project.
npm install --save @types/istanbul-reports
This package contains type definitions for istanbul-reports (https://github.com/istanbuljs/istanbuljs).
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/istanbul-reports.
import { Node, ReportBase } from "istanbul-lib-report";
export function create<T extends keyof ReportOptions>(name: T, options?: Partial<ReportOptions[T]>): ReportBase;
export interface FileOptions {
file: string;
}
export interface ProjectOptions {
projectRoot: string;
}
export interface ReportOptions {
clover: CloverOptions;
cobertura: CoberturaOptions;
"html-spa": HtmlSpaOptions;
html: HtmlOptions;
json: JsonOptions;
"json-summary": JsonSummaryOptions;
lcov: LcovOptions;
lcovonly: LcovOnlyOptions;
none: never;
teamcity: TeamcityOptions;
text: TextOptions;
"text-lcov": TextLcovOptions;
"text-summary": TextSummaryOptions;
}
export type ReportType = keyof ReportOptions;
export interface CloverOptions extends FileOptions, ProjectOptions {}
export interface CoberturaOptions extends FileOptions, ProjectOptions {}
export interface HtmlSpaOptions extends HtmlOptions {
metricsToShow: Array<"lines" | "branches" | "functions" | "statements">;
}
export interface HtmlOptions {
verbose: boolean;
skipEmpty: boolean;
subdir: string;
linkMapper: LinkMapper;
}
export type JsonOptions = FileOptions;
export type JsonSummaryOptions = FileOptions;
export interface LcovOptions extends FileOptions, ProjectOptions {}
export interface LcovOnlyOptions extends FileOptions, ProjectOptions {}
export interface TeamcityOptions extends FileOptions {
blockName: string;
}
export interface TextOptions extends FileOptions {
maxCols: number;
skipEmpty: boolean;
skipFull: boolean;
}
export type TextLcovOptions = ProjectOptions;
export type TextSummaryOptions = FileOptions;
export interface LinkMapper {
getPath(node: string | Node): string;
relativePath(source: string | Node, target: string | Node): string;
assetPath(node: Node, name: string): string;
}
These definitions were written by Jason Cheatham, and Elena Shcherbakova.
FAQs
TypeScript definitions for istanbul-reports
The npm package @types/istanbul-reports receives a total of 24,506,488 weekly downloads. As such, @types/istanbul-reports popularity was classified as popular.
We found that @types/istanbul-reports demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.